{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 地理编码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'info': 'OK', 'infocode': '10000', 'count': '1', 'geocodes': [{'formatted_address': '广东省广州市增城区东方名都', 'country': '中国', 'province': '广东省', 'citycode': '020', 'city': '广州市', 'district': '增城区', 'township': [], 'neighborhood': {'name': [], 'type': []}, 'building': {'name': [], 'type': []}, 'adcode': '440118', 'street': [], 'number': [], 'location': '113.592500,23.125729', 'level': '兴趣点'}]}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>formatted_address</th>\n",
       "      <th>country</th>\n",
       "      <th>province</th>\n",
       "      <th>citycode</th>\n",
       "      <th>city</th>\n",
       "      <th>district</th>\n",
       "      <th>township</th>\n",
       "      <th>adcode</th>\n",
       "      <th>street</th>\n",
       "      <th>number</th>\n",
       "      <th>location</th>\n",
       "      <th>level</th>\n",
       "      <th>neighborhood.name</th>\n",
       "      <th>neighborhood.type</th>\n",
       "      <th>building.name</th>\n",
       "      <th>building.type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广东省广州市增城区东方名都</td>\n",
       "      <td>中国</td>\n",
       "      <td>广东省</td>\n",
       "      <td>020</td>\n",
       "      <td>广州市</td>\n",
       "      <td>增城区</td>\n",
       "      <td>[]</td>\n",
       "      <td>440118</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.592500,23.125729</td>\n",
       "      <td>兴趣点</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  formatted_address country province citycode city district township  adcode  \\\n",
       "0     广东省广州市增城区东方名都      中国      广东省      020  广州市      增城区       []  440118   \n",
       "\n",
       "  street number              location level neighborhood.name  \\\n",
       "0     []     []  113.592500,23.125729   兴趣点                []   \n",
       "\n",
       "  neighborhood.type building.name building.type  \n",
       "0                []            []            []  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "家地理编码: 113.592500,23.125729\n"
     ]
    }
   ],
   "source": [
    "import requests\n",
    "# API使用请求参数\n",
    "key ='2b458f8a771c9a73c391117cd7bf9857'#KEY\n",
    "def geocode(address,city=None,batch=None,sig=None)->dict:\n",
    "    \"\"\"获取地理编码\n",
    "    adress可填入国家、省份、城市、区县、城镇、乡村、街道、门牌号码、大厦等建筑物名称\n",
    "    填入aderss对应city即可查询具体经纬度\n",
    "    \"\"\"\n",
    "    url = 'https://restapi.amap.com/v3/geocode/geo?parameters'\n",
    "    params={\n",
    "        'key': key,\n",
    "        'address':address,\n",
    "        'city':city,\n",
    "        'batch':batch,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "家 = geocode(address='广东省广州市增城区东方名都')\n",
    "print(家)\n",
    "df_家地理编码 = pd.json_normalize(家['geocodes'])\n",
    "display(df_家地理编码)\n",
    "家地理编码 = 家['geocodes'][0]['location']\n",
    "print(\"家地理编码:\",家地理编码)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 逆地理编码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'regeocode': {'addressComponent': {'city': '广州市', 'province': '广东省', 'adcode': '440118', 'district': '增城区', 'towncode': '440118101000', 'streetNumber': {'number': '北38号', 'location': '113.591822,23.1257619', 'direction': '西', 'distance': '69.4384', 'street': '东江大道'}, 'country': '中国', 'township': '新塘镇', 'businessAreas': [{'location': '113.605377,23.121441', 'name': '新塘', 'id': '440118'}], 'building': {'name': [], 'type': []}, 'neighborhood': {'name': [], 'type': []}, 'citycode': '020'}, 'formatted_address': '广东省广州市增城区新塘镇广园东·东方名都'}, 'info': 'OK', 'infocode': '10000'}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>status</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>info</th>\n",
       "      <td>OK</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>infocode</th>\n",
       "      <td>10000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.city</th>\n",
       "      <td>广州市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.province</th>\n",
       "      <td>广东省</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.adcode</th>\n",
       "      <td>440118</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.district</th>\n",
       "      <td>增城区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.towncode</th>\n",
       "      <td>440118101000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.number</th>\n",
       "      <td>北38号</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.location</th>\n",
       "      <td>113.591822,23.1257619</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.direction</th>\n",
       "      <td>西</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.distance</th>\n",
       "      <td>69.4384</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.street</th>\n",
       "      <td>东江大道</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.country</th>\n",
       "      <td>中国</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.township</th>\n",
       "      <td>新塘镇</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.businessAreas</th>\n",
       "      <td>[{'location': '113.605377,23.121441', 'name': ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.building.name</th>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.building.type</th>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.neighborhood.name</th>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.neighborhood.type</th>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.citycode</th>\n",
       "      <td>020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.formatted_address</th>\n",
       "      <td>广东省广州市增城区新塘镇广园东·东方名都</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                                                                   0\n",
       "status                                                                                             1\n",
       "info                                                                                              OK\n",
       "infocode                                                                                       10000\n",
       "regeocode.addressComponent.city                                                                  广州市\n",
       "regeocode.addressComponent.province                                                              广东省\n",
       "regeocode.addressComponent.adcode                                                             440118\n",
       "regeocode.addressComponent.district                                                              增城区\n",
       "regeocode.addressComponent.towncode                                                     440118101000\n",
       "regeocode.addressComponent.streetNumber.number                                                  北38号\n",
       "regeocode.addressComponent.streetNumber.location                               113.591822,23.1257619\n",
       "regeocode.addressComponent.streetNumber.direction                                                  西\n",
       "regeocode.addressComponent.streetNumber.distance                                             69.4384\n",
       "regeocode.addressComponent.streetNumber.street                                                  东江大道\n",
       "regeocode.addressComponent.country                                                                中国\n",
       "regeocode.addressComponent.township                                                              新塘镇\n",
       "regeocode.addressComponent.businessAreas           [{'location': '113.605377,23.121441', 'name': ...\n",
       "regeocode.addressComponent.building.name                                                          []\n",
       "regeocode.addressComponent.building.type                                                          []\n",
       "regeocode.addressComponent.neighborhood.name                                                      []\n",
       "regeocode.addressComponent.neighborhood.type                                                      []\n",
       "regeocode.addressComponent.citycode                                                              020\n",
       "regeocode.formatted_address                                                     广东省广州市增城区新塘镇广园东·东方名都"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def regeocode(location,poitype=None,radius=None,extensions=\"base\",batch=False,roadlevel=None,sig=None,homeorcorp=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/geocode/regeo?parameters'\n",
    "    params={\n",
    "        'key': key,\n",
    "        'location':location,\n",
    "        'poitype':poitype,\n",
    "        'radius':radius,\n",
    "        'extensions':extensions,\n",
    "        'batch':batch,\n",
    "        'roadlevel':roadlevel,\n",
    "        'homeorcorp':homeorcorp,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "家逆地理编码 = regeocode(家地理编码)\n",
    "print(家逆地理编码)\n",
    "df_家逆地理编码 = pd.json_normalize(家逆地理编码).T\n",
    "display(df_家逆地理编码)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 路径规划"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [],
   "source": [
    "def walking(origin,destination,sig=None)->dict:\n",
    "    \"\"\"路径规划\n",
    "    输入起始点和终止点经纬度数据可以获取路线规划\n",
    "    可通过geo()函数查询具体地点的经纬度\"\"\"\n",
    "    url = 'https://restapi.amap.com/v3/direction/walking?parameters'\n",
    "    params = {\n",
    "        'key':key,\n",
    "        'origin':origin,   #起始\n",
    "        'destination': destination, #终止\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(起)家_location: 113.592500,23.125729 (终)新塘广场_location: 113.612942,23.116901\n"
     ]
    }
   ],
   "source": [
    "# 参数\n",
    "新塘广场 = geocode('广东省广州市增城区新塘广场')\n",
    "新塘广场_location = 新塘广场['geocodes'][0]['location']\n",
    "家_location = 家['geocodes'][0]['location']\n",
    "print(\"(起)家_location:\",家_location,\"(终)新塘广场_location:\",新塘广场_location)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instruction</th>\n",
       "      <th>orientation</th>\n",
       "      <th>road</th>\n",
       "      <th>distance</th>\n",
       "      <th>duration</th>\n",
       "      <th>polyline</th>\n",
       "      <th>action</th>\n",
       "      <th>assistant_action</th>\n",
       "      <th>walk_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>步行93米右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>93</td>\n",
       "      <td>74</td>\n",
       "      <td>113.592569,23.12576;113.592604,23.125703;113.5...</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>步行204米左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>204</td>\n",
       "      <td>163</td>\n",
       "      <td>113.593398,23.125543;113.593403,23.125165;113....</td>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>向东北步行25米右转</td>\n",
       "      <td>东北</td>\n",
       "      <td>[]</td>\n",
       "      <td>25</td>\n",
       "      <td>20</td>\n",
       "      <td>113.593411,23.123698;113.593472,23.123728;113....</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>向东步行20米右转</td>\n",
       "      <td>东</td>\n",
       "      <td>[]</td>\n",
       "      <td>20</td>\n",
       "      <td>16</td>\n",
       "      <td>113.593503,23.123885;113.593711,23.123906</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>向南步行191米左转</td>\n",
       "      <td>南</td>\n",
       "      <td>[]</td>\n",
       "      <td>191</td>\n",
       "      <td>153</td>\n",
       "      <td>113.593711,23.123906;113.593724,23.123789;113....</td>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>沿广深大道西辅路向东步行922米向右前方行走</td>\n",
       "      <td>东</td>\n",
       "      <td>广深大道西辅路</td>\n",
       "      <td>922</td>\n",
       "      <td>738</td>\n",
       "      <td>113.593876,23.122183;113.594106,23.122183;113....</td>\n",
       "      <td>向右前方行走</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>沿广深大道西向东步行134米右转</td>\n",
       "      <td>东</td>\n",
       "      <td>广深大道西</td>\n",
       "      <td>134</td>\n",
       "      <td>107</td>\n",
       "      <td>113.602917,23.121931;113.604132,23.121892;113....</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>沿港口大道北向南步行595米左转</td>\n",
       "      <td>南</td>\n",
       "      <td>港口大道北</td>\n",
       "      <td>595</td>\n",
       "      <td>476</td>\n",
       "      <td>113.604223,23.121888;113.604223,23.121801;113....</td>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>沿新塘大道中向东步行825米左转</td>\n",
       "      <td>东</td>\n",
       "      <td>新塘大道中</td>\n",
       "      <td>825</td>\n",
       "      <td>660</td>\n",
       "      <td>113.604484,23.116476;113.605169,23.116519;113....</td>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>沿大宝路向北步行27米到达目的地</td>\n",
       "      <td>北</td>\n",
       "      <td>大宝路</td>\n",
       "      <td>27</td>\n",
       "      <td>22</td>\n",
       "      <td>113.6126,23.116519;113.612595,23.116766</td>\n",
       "      <td>[]</td>\n",
       "      <td>到达目的地</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              instruction orientation     road distance duration  \\\n",
       "0                 步行93米右转          []       []       93       74   \n",
       "1                步行204米左转          []       []      204      163   \n",
       "2              向东北步行25米右转          东北       []       25       20   \n",
       "3               向东步行20米右转           东       []       20       16   \n",
       "4              向南步行191米左转           南       []      191      153   \n",
       "5  沿广深大道西辅路向东步行922米向右前方行走           东  广深大道西辅路      922      738   \n",
       "6        沿广深大道西向东步行134米右转           东    广深大道西      134      107   \n",
       "7        沿港口大道北向南步行595米左转           南    港口大道北      595      476   \n",
       "8        沿新塘大道中向东步行825米左转           东    新塘大道中      825      660   \n",
       "9        沿大宝路向北步行27米到达目的地           北      大宝路       27       22   \n",
       "\n",
       "                                            polyline  action assistant_action  \\\n",
       "0  113.592569,23.12576;113.592604,23.125703;113.5...      右转               []   \n",
       "1  113.593398,23.125543;113.593403,23.125165;113....      左转               []   \n",
       "2  113.593411,23.123698;113.593472,23.123728;113....      右转               []   \n",
       "3          113.593503,23.123885;113.593711,23.123906      右转               []   \n",
       "4  113.593711,23.123906;113.593724,23.123789;113....      左转               []   \n",
       "5  113.593876,23.122183;113.594106,23.122183;113....  向右前方行走               []   \n",
       "6  113.602917,23.121931;113.604132,23.121892;113....      右转               []   \n",
       "7  113.604223,23.121888;113.604223,23.121801;113....      左转               []   \n",
       "8  113.604484,23.116476;113.605169,23.116519;113....      左转               []   \n",
       "9            113.6126,23.116519;113.612595,23.116766      []            到达目的地   \n",
       "\n",
       "  walk_type  \n",
       "0         0  \n",
       "1         0  \n",
       "2         0  \n",
       "3         0  \n",
       "4         0  \n",
       "5         0  \n",
       "6         0  \n",
       "7         0  \n",
       "8         0  \n",
       "9         0  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "0                   步行93米右转\n",
       "1                  步行204米左转\n",
       "2                向东北步行25米右转\n",
       "3                 向东步行20米右转\n",
       "4                向南步行191米左转\n",
       "5    沿广深大道西辅路向东步行922米向右前方行走\n",
       "6          沿广深大道西向东步行134米右转\n",
       "7          沿港口大道北向南步行595米左转\n",
       "8          沿新塘大道中向东步行825米左转\n",
       "9          沿大宝路向北步行27米到达目的地\n",
       "Name: instruction, dtype: object"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "家_新塘广场 = walking(家_location,新塘广场_location)\n",
    "df_步行路径规划 = pd.json_normalize(家_新塘广场[\"route\"][\"paths\"][0]['steps'])\n",
    "display(df_步行路径规划)\n",
    "df_步行路径规划[\"instruction\"]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 公交路径规划"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [],
   "source": [
    "def integrated(origin,destination,city,cityd=None,extensions='base',strategy=None,nightflag=0,date=None,time=None,sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/direction/transit/integrated?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'origin':origin,\n",
    "        'destination':destination,\n",
    "        'city':city,\n",
    "        'cityd':cityd,\n",
    "        'extensions':extensions,\n",
    "        'strategy':strategy,\n",
    "        'nightflag':nightflag,\n",
    "        'date':date,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(起点)新塘广场_location: 113.612942,23.116901 (终点)正佳广场_location: 113.327030,23.132175\n"
     ]
    }
   ],
   "source": [
    "# 准备walking 参数\n",
    "新塘广场 = geocode('广东省广州市增城区新塘广场')\n",
    "新塘广场_location = 新塘广场['geocodes'][0]['location']\n",
    "正佳广场 = geocode('广东省广州市天河区正佳广场')\n",
    "正佳广场_location = 正佳广场['geocodes'][0]['location']\n",
    "print(\"(起点)新塘广场_location:\",新塘广场_location,\"(终点)正佳广场_location:\",正佳广场_location)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>status</th>\n",
       "      <th>info</th>\n",
       "      <th>infocode</th>\n",
       "      <th>count</th>\n",
       "      <th>route.origin</th>\n",
       "      <th>route.destination</th>\n",
       "      <th>route.distance</th>\n",
       "      <th>route.taxi_cost</th>\n",
       "      <th>route.transits</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>OK</td>\n",
       "      <td>10000</td>\n",
       "      <td>5</td>\n",
       "      <td>113.612942,23.116901</td>\n",
       "      <td>113.327030,23.132175</td>\n",
       "      <td>28197</td>\n",
       "      <td>76.8122</td>\n",
       "      <td>[{'cost': '10.0', 'duration': '4803', 'nightfl...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  status info infocode count          route.origin     route.destination  \\\n",
       "0      1   OK    10000     5  113.612942,23.116901  113.327030,23.132175   \n",
       "\n",
       "  route.distance route.taxi_cost  \\\n",
       "0          28197         76.8122   \n",
       "\n",
       "                                      route.transits  \n",
       "0  [{'cost': '10.0', 'duration': '4803', 'nightfl...  "
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 公交路径规划\n",
    "新塘广场_正佳广场 = integrated(新塘广场_location,正佳广场_location,city='广州',extensions='all')\n",
    "df_bus = pd.json_normalize(新塘广场_正佳广场)\n",
    "df_bus"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>cost</th>\n",
       "      <th>duration</th>\n",
       "      <th>nightflag</th>\n",
       "      <th>walking_distance</th>\n",
       "      <th>distance</th>\n",
       "      <th>missed</th>\n",
       "      <th>segments</th>\n",
       "      <th>emergency.linetype</th>\n",
       "      <th>emergency.eventTagDesc</th>\n",
       "      <th>emergency.ldescription</th>\n",
       "      <th>emergency.ssstatus</th>\n",
       "      <th>emergency.ssdescription</th>\n",
       "      <th>emergency.esstatus</th>\n",
       "      <th>emergency.esdescription</th>\n",
       "      <th>emergency.busid</th>\n",
       "      <th>emergency.busname</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10.0</td>\n",
       "      <td>4803</td>\n",
       "      <td>0</td>\n",
       "      <td>693</td>\n",
       "      <td>37776</td>\n",
       "      <td>0</td>\n",
       "      <td>[{'taxi': [], 'walking': {'origin': '113.61280...</td>\n",
       "      <td>2</td>\n",
       "      <td>提示</td>\n",
       "      <td>地铁3号线线路调整:地铁3号线在工作日非高峰时段和晚高峰、非工作日全天均开行番禺广场至机场北...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>440100023033</td>\n",
       "      <td>地铁3号线</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>10.0</td>\n",
       "      <td>4926</td>\n",
       "      <td>0</td>\n",
       "      <td>759</td>\n",
       "      <td>36282</td>\n",
       "      <td>0</td>\n",
       "      <td>[{'taxi': [], 'walking': {'origin': '113.61280...</td>\n",
       "      <td>2</td>\n",
       "      <td>提示</td>\n",
       "      <td>地铁3号线线路调整:地铁3号线在工作日非高峰时段和晚高峰、非工作日全天均开行番禺广场至机场北...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>440100023033</td>\n",
       "      <td>地铁3号线</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>10.0</td>\n",
       "      <td>4925</td>\n",
       "      <td>0</td>\n",
       "      <td>856</td>\n",
       "      <td>38156</td>\n",
       "      <td>0</td>\n",
       "      <td>[{'taxi': [], 'walking': {'origin': '113.61280...</td>\n",
       "      <td>2</td>\n",
       "      <td>提示</td>\n",
       "      <td>地铁3号线线路调整:地铁3号线在工作日非高峰时段和晚高峰、非工作日全天均开行番禺广场至机场北...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>440100023033</td>\n",
       "      <td>地铁3号线</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3.0</td>\n",
       "      <td>7794</td>\n",
       "      <td>0</td>\n",
       "      <td>1605</td>\n",
       "      <td>37358</td>\n",
       "      <td>0</td>\n",
       "      <td>[{'taxi': [], 'walking': {'origin': '113.61259...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5.0</td>\n",
       "      <td>7772</td>\n",
       "      <td>0</td>\n",
       "      <td>570</td>\n",
       "      <td>37205</td>\n",
       "      <td>0</td>\n",
       "      <td>[{'taxi': [], 'walking': {'origin': '113.61259...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   cost duration nightflag walking_distance distance missed  \\\n",
       "0  10.0     4803         0              693    37776      0   \n",
       "1  10.0     4926         0              759    36282      0   \n",
       "2  10.0     4925         0              856    38156      0   \n",
       "3   3.0     7794         0             1605    37358      0   \n",
       "4   5.0     7772         0              570    37205      0   \n",
       "\n",
       "                                            segments emergency.linetype  \\\n",
       "0  [{'taxi': [], 'walking': {'origin': '113.61280...                  2   \n",
       "1  [{'taxi': [], 'walking': {'origin': '113.61280...                  2   \n",
       "2  [{'taxi': [], 'walking': {'origin': '113.61280...                  2   \n",
       "3  [{'taxi': [], 'walking': {'origin': '113.61259...                NaN   \n",
       "4  [{'taxi': [], 'walking': {'origin': '113.61259...                NaN   \n",
       "\n",
       "  emergency.eventTagDesc                             emergency.ldescription  \\\n",
       "0                     提示  地铁3号线线路调整:地铁3号线在工作日非高峰时段和晚高峰、非工作日全天均开行番禺广场至机场北...   \n",
       "1                     提示  地铁3号线线路调整:地铁3号线在工作日非高峰时段和晚高峰、非工作日全天均开行番禺广场至机场北...   \n",
       "2                     提示  地铁3号线线路调整:地铁3号线在工作日非高峰时段和晚高峰、非工作日全天均开行番禺广场至机场北...   \n",
       "3                    NaN                                                NaN   \n",
       "4                    NaN                                                NaN   \n",
       "\n",
       "  emergency.ssstatus emergency.ssdescription emergency.esstatus  \\\n",
       "0                 []                      []                 []   \n",
       "1                 []                      []                 []   \n",
       "2                 []                      []                 []   \n",
       "3                NaN                     NaN                NaN   \n",
       "4                NaN                     NaN                NaN   \n",
       "\n",
       "  emergency.esdescription emergency.busid emergency.busname  \n",
       "0                      []    440100023033             地铁3号线  \n",
       "1                      []    440100023033             地铁3号线  \n",
       "2                      []    440100023033             地铁3号线  \n",
       "3                     NaN             NaN               NaN  \n",
       "4                     NaN             NaN               NaN  "
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.json_normalize(新塘广场_正佳广场[\"route\"]['transits'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>taxi</th>\n",
       "      <th>entrance</th>\n",
       "      <th>exit</th>\n",
       "      <th>walking.origin</th>\n",
       "      <th>walking.destination</th>\n",
       "      <th>walking.distance</th>\n",
       "      <th>walking.duration</th>\n",
       "      <th>walking.steps</th>\n",
       "      <th>bus.buslines</th>\n",
       "      <th>railway.via_stops</th>\n",
       "      <th>railway.alters</th>\n",
       "      <th>railway.spaces</th>\n",
       "      <th>entrance.name</th>\n",
       "      <th>entrance.location</th>\n",
       "      <th>walking</th>\n",
       "      <th>exit.name</th>\n",
       "      <th>exit.location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.612808,23.116772</td>\n",
       "      <td>113.613213,23.116480</td>\n",
       "      <td>69</td>\n",
       "      <td>59</td>\n",
       "      <td>[{'instruction': '步行30米左转', 'road': [], 'dista...</td>\n",
       "      <td>[{'departure_stop': {'name': '新塘广场', 'id': '44...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.605530,23.131659</td>\n",
       "      <td>113.604485,23.131748</td>\n",
       "      <td>263</td>\n",
       "      <td>225</td>\n",
       "      <td>[{'instruction': '沿新新大道南步行43米向右前方行走', 'road': ...</td>\n",
       "      <td>[{'departure_stop': {'name': '新塘', 'id': '9000...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>D2口</td>\n",
       "      <td>113.604836,23.130905</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[{'departure_stop': {'name': '鱼珠', 'id': '4401...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[{'departure_stop': {'name': '珠江新城', 'id': '44...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[{'departure_stop': {'name': '体育西路', 'id': '44...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[]</td>\n",
       "      <td>A口</td>\n",
       "      <td>113.328735,23.134546</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.328377,23.134970</td>\n",
       "      <td>113.327568,23.133020</td>\n",
       "      <td>358</td>\n",
       "      <td>306</td>\n",
       "      <td>[{'instruction': '步行104米左转', 'road': [], 'dist...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  taxi entrance exit        walking.origin   walking.destination  \\\n",
       "0   []       []   []  113.612808,23.116772  113.613213,23.116480   \n",
       "1   []      NaN   []  113.605530,23.131659  113.604485,23.131748   \n",
       "2   []       []   []                   NaN                   NaN   \n",
       "3   []       []   []                   NaN                   NaN   \n",
       "4   []       []  NaN                   NaN                   NaN   \n",
       "5   []       []   []  113.328377,23.134970  113.327568,23.133020   \n",
       "\n",
       "  walking.distance walking.duration  \\\n",
       "0               69               59   \n",
       "1              263              225   \n",
       "2              NaN              NaN   \n",
       "3              NaN              NaN   \n",
       "4              NaN              NaN   \n",
       "5              358              306   \n",
       "\n",
       "                                       walking.steps  \\\n",
       "0  [{'instruction': '步行30米左转', 'road': [], 'dista...   \n",
       "1  [{'instruction': '沿新新大道南步行43米向右前方行走', 'road': ...   \n",
       "2                                                NaN   \n",
       "3                                                NaN   \n",
       "4                                                NaN   \n",
       "5  [{'instruction': '步行104米左转', 'road': [], 'dist...   \n",
       "\n",
       "                                        bus.buslines railway.via_stops  \\\n",
       "0  [{'departure_stop': {'name': '新塘广场', 'id': '44...                []   \n",
       "1  [{'departure_stop': {'name': '新塘', 'id': '9000...                []   \n",
       "2  [{'departure_stop': {'name': '鱼珠', 'id': '4401...                []   \n",
       "3  [{'departure_stop': {'name': '珠江新城', 'id': '44...                []   \n",
       "4  [{'departure_stop': {'name': '体育西路', 'id': '44...                []   \n",
       "5                                                 []                []   \n",
       "\n",
       "  railway.alters railway.spaces entrance.name     entrance.location walking  \\\n",
       "0             []             []           NaN                   NaN     NaN   \n",
       "1             []             []           D2口  113.604836,23.130905     NaN   \n",
       "2             []             []           NaN                   NaN      []   \n",
       "3             []             []           NaN                   NaN      []   \n",
       "4             []             []           NaN                   NaN      []   \n",
       "5             []             []           NaN                   NaN     NaN   \n",
       "\n",
       "  exit.name         exit.location  \n",
       "0       NaN                   NaN  \n",
       "1       NaN                   NaN  \n",
       "2       NaN                   NaN  \n",
       "3       NaN                   NaN  \n",
       "4        A口  113.328735,23.134546  \n",
       "5       NaN                   NaN  "
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.json_normalize(新塘广场_正佳广场[\"route\"]['transits'][0]['segments'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>id</th>\n",
       "      <th>type</th>\n",
       "      <th>distance</th>\n",
       "      <th>duration</th>\n",
       "      <th>polyline</th>\n",
       "      <th>bustimetag</th>\n",
       "      <th>start_time</th>\n",
       "      <th>end_time</th>\n",
       "      <th>via_num</th>\n",
       "      <th>via_stops</th>\n",
       "      <th>departure_stop.name</th>\n",
       "      <th>departure_stop.id</th>\n",
       "      <th>departure_stop.location</th>\n",
       "      <th>arrival_stop.name</th>\n",
       "      <th>arrival_stop.id</th>\n",
       "      <th>arrival_stop.location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>增城38路(峰光实业--海伦春天站)</td>\n",
       "      <td>440100018144</td>\n",
       "      <td>普通公交线路</td>\n",
       "      <td>2084</td>\n",
       "      <td>1180</td>\n",
       "      <td>113.613083,23.116484;113.613083,23.116480;113....</td>\n",
       "      <td>0</td>\n",
       "      <td>0640</td>\n",
       "      <td>2030</td>\n",
       "      <td>2</td>\n",
       "      <td>[{'name': '广虎站', 'id': '440100018144046', 'loc...</td>\n",
       "      <td>新塘广场</td>\n",
       "      <td>440100018144010</td>\n",
       "      <td>113.613083,23.116484</td>\n",
       "      <td>新塘地铁站</td>\n",
       "      <td>440100018144078</td>\n",
       "      <td>113.605530,23.131659</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>增城26路(大墩综合市场--凤凰城交通中心)</td>\n",
       "      <td>440100018088</td>\n",
       "      <td>普通公交线路</td>\n",
       "      <td>2103</td>\n",
       "      <td>1505</td>\n",
       "      <td>113.612953,23.116493;113.612602,23.116520;113....</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3</td>\n",
       "      <td>[{'name': '广虎站', 'id': '440100018088016', 'loc...</td>\n",
       "      <td>新塘广场</td>\n",
       "      <td>440100018088015</td>\n",
       "      <td>113.612953,23.116493</td>\n",
       "      <td>新塘地铁站</td>\n",
       "      <td>440100018088037</td>\n",
       "      <td>113.605522,23.131506</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>增城21路(东江首府--新塘万达广场)</td>\n",
       "      <td>440100018083</td>\n",
       "      <td>普通公交线路</td>\n",
       "      <td>1972</td>\n",
       "      <td>1504</td>\n",
       "      <td>113.612976,23.116493;113.612968,23.116493;113....</td>\n",
       "      <td>0</td>\n",
       "      <td>0630</td>\n",
       "      <td>2100</td>\n",
       "      <td>3</td>\n",
       "      <td>[{'name': '广虎站', 'id': '440100018083008', 'loc...</td>\n",
       "      <td>新塘广场</td>\n",
       "      <td>440100018083007</td>\n",
       "      <td>113.612976,23.116493</td>\n",
       "      <td>新塘地铁站</td>\n",
       "      <td>440100018083022</td>\n",
       "      <td>113.605522,23.131403</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>增城26A路(大墩综合市场--凤晴苑总站)</td>\n",
       "      <td>900000128137</td>\n",
       "      <td>普通公交线路</td>\n",
       "      <td>2157</td>\n",
       "      <td>1355</td>\n",
       "      <td>113.613007,23.116489;113.612595,23.116520;113....</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3</td>\n",
       "      <td>[{'name': '广虎站', 'id': '900000128137013', 'loc...</td>\n",
       "      <td>新塘广场</td>\n",
       "      <td>900000128137012</td>\n",
       "      <td>113.613007,23.116489</td>\n",
       "      <td>新塘地铁站</td>\n",
       "      <td>900000128137015</td>\n",
       "      <td>113.605522,23.131598</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     name            id    type distance duration  \\\n",
       "0      增城38路(峰光实业--海伦春天站)  440100018144  普通公交线路     2084     1180   \n",
       "1  增城26路(大墩综合市场--凤凰城交通中心)  440100018088  普通公交线路     2103     1505   \n",
       "2     增城21路(东江首府--新塘万达广场)  440100018083  普通公交线路     1972     1504   \n",
       "3   增城26A路(大墩综合市场--凤晴苑总站)  900000128137  普通公交线路     2157     1355   \n",
       "\n",
       "                                            polyline bustimetag start_time  \\\n",
       "0  113.613083,23.116484;113.613083,23.116480;113....          0       0640   \n",
       "1  113.612953,23.116493;113.612602,23.116520;113....          0         []   \n",
       "2  113.612976,23.116493;113.612968,23.116493;113....          0       0630   \n",
       "3  113.613007,23.116489;113.612595,23.116520;113....          0         []   \n",
       "\n",
       "  end_time via_num                                          via_stops  \\\n",
       "0     2030       2  [{'name': '广虎站', 'id': '440100018144046', 'loc...   \n",
       "1       []       3  [{'name': '广虎站', 'id': '440100018088016', 'loc...   \n",
       "2     2100       3  [{'name': '广虎站', 'id': '440100018083008', 'loc...   \n",
       "3       []       3  [{'name': '广虎站', 'id': '900000128137013', 'loc...   \n",
       "\n",
       "  departure_stop.name departure_stop.id departure_stop.location  \\\n",
       "0                新塘广场   440100018144010    113.613083,23.116484   \n",
       "1                新塘广场   440100018088015    113.612953,23.116493   \n",
       "2                新塘广场   440100018083007    113.612976,23.116493   \n",
       "3                新塘广场   900000128137012    113.613007,23.116489   \n",
       "\n",
       "  arrival_stop.name  arrival_stop.id arrival_stop.location  \n",
       "0             新塘地铁站  440100018144078  113.605530,23.131659  \n",
       "1             新塘地铁站  440100018088037  113.605522,23.131506  \n",
       "2             新塘地铁站  440100018083022  113.605522,23.131403  \n",
       "3             新塘地铁站  900000128137015  113.605522,23.131598  "
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_bus_基本信息 = pd.json_normalize(新塘广场_正佳广场[\"route\"]['transits'][0]['segments'][0]['bus'][\"buslines\"])\n",
    "df_bus_基本信息"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 行政区域查询"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>citycode</th>\n",
       "      <th>adcode</th>\n",
       "      <th>name</th>\n",
       "      <th>center</th>\n",
       "      <th>level</th>\n",
       "      <th>districts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0758</td>\n",
       "      <td>441200</td>\n",
       "      <td>肇庆市</td>\n",
       "      <td>112.472529,23.051546</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0758', 'adcode': '441224', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0757</td>\n",
       "      <td>440600</td>\n",
       "      <td>佛山市</td>\n",
       "      <td>113.122717,23.028762</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0757', 'adcode': '440607', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0754</td>\n",
       "      <td>440500</td>\n",
       "      <td>汕头市</td>\n",
       "      <td>116.708463,23.37102</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0754', 'adcode': '440513', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0752</td>\n",
       "      <td>441300</td>\n",
       "      <td>惠州市</td>\n",
       "      <td>114.412599,23.079404</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0752', 'adcode': '441324', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0755</td>\n",
       "      <td>440300</td>\n",
       "      <td>深圳市</td>\n",
       "      <td>114.085947,22.547</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440306', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0756</td>\n",
       "      <td>440400</td>\n",
       "      <td>珠海市</td>\n",
       "      <td>113.553986,22.224979</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0756', 'adcode': '440402', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0759</td>\n",
       "      <td>440800</td>\n",
       "      <td>湛江市</td>\n",
       "      <td>110.364977,21.274898</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0759', 'adcode': '440883', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0662</td>\n",
       "      <td>441700</td>\n",
       "      <td>阳江市</td>\n",
       "      <td>111.975107,21.859222</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0662', 'adcode': '441781', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0660</td>\n",
       "      <td>441500</td>\n",
       "      <td>汕尾市</td>\n",
       "      <td>115.364238,22.774485</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0660', 'adcode': '441523', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0768</td>\n",
       "      <td>445100</td>\n",
       "      <td>潮州市</td>\n",
       "      <td>116.632301,23.661701</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0768', 'adcode': '445122', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0750</td>\n",
       "      <td>440700</td>\n",
       "      <td>江门市</td>\n",
       "      <td>113.094942,22.590431</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0750', 'adcode': '440784', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>0766</td>\n",
       "      <td>445300</td>\n",
       "      <td>云浮市</td>\n",
       "      <td>112.044439,22.929801</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0766', 'adcode': '445322', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0767</td>\n",
       "      <td>442100</td>\n",
       "      <td>东沙群岛</td>\n",
       "      <td>116.887312,20.617512</td>\n",
       "      <td>city</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0668</td>\n",
       "      <td>440900</td>\n",
       "      <td>茂名市</td>\n",
       "      <td>110.919229,21.659751</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0668', 'adcode': '440983', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>0762</td>\n",
       "      <td>441600</td>\n",
       "      <td>河源市</td>\n",
       "      <td>114.697802,23.746266</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0762', 'adcode': '441622', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>0753</td>\n",
       "      <td>441400</td>\n",
       "      <td>梅州市</td>\n",
       "      <td>116.117582,24.299112</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0753', 'adcode': '441427', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>0769</td>\n",
       "      <td>441900</td>\n",
       "      <td>东莞市</td>\n",
       "      <td>113.746262,23.046237</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0769', 'adcode': '441900', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>0663</td>\n",
       "      <td>445200</td>\n",
       "      <td>揭阳市</td>\n",
       "      <td>116.355733,23.543778</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0663', 'adcode': '445222', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>0763</td>\n",
       "      <td>441800</td>\n",
       "      <td>清远市</td>\n",
       "      <td>113.051227,23.685022</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0763', 'adcode': '441882', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>0751</td>\n",
       "      <td>440200</td>\n",
       "      <td>韶关市</td>\n",
       "      <td>113.591544,24.801322</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0751', 'adcode': '440282', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>020</td>\n",
       "      <td>440100</td>\n",
       "      <td>广州市</td>\n",
       "      <td>113.280637,23.125178</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '020', 'adcode': '440117', 'name...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>0760</td>\n",
       "      <td>442000</td>\n",
       "      <td>中山市</td>\n",
       "      <td>113.382391,22.521113</td>\n",
       "      <td>city</td>\n",
       "      <td>[{'citycode': '0760', 'adcode': '442000', 'nam...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   citycode  adcode  name                center level  \\\n",
       "0      0758  441200   肇庆市  112.472529,23.051546  city   \n",
       "1      0757  440600   佛山市  113.122717,23.028762  city   \n",
       "2      0754  440500   汕头市   116.708463,23.37102  city   \n",
       "3      0752  441300   惠州市  114.412599,23.079404  city   \n",
       "4      0755  440300   深圳市     114.085947,22.547  city   \n",
       "5      0756  440400   珠海市  113.553986,22.224979  city   \n",
       "6      0759  440800   湛江市  110.364977,21.274898  city   \n",
       "7      0662  441700   阳江市  111.975107,21.859222  city   \n",
       "8      0660  441500   汕尾市  115.364238,22.774485  city   \n",
       "9      0768  445100   潮州市  116.632301,23.661701  city   \n",
       "10     0750  440700   江门市  113.094942,22.590431  city   \n",
       "11     0766  445300   云浮市  112.044439,22.929801  city   \n",
       "12     0767  442100  东沙群岛  116.887312,20.617512  city   \n",
       "13     0668  440900   茂名市  110.919229,21.659751  city   \n",
       "14     0762  441600   河源市  114.697802,23.746266  city   \n",
       "15     0753  441400   梅州市  116.117582,24.299112  city   \n",
       "16     0769  441900   东莞市  113.746262,23.046237  city   \n",
       "17     0663  445200   揭阳市  116.355733,23.543778  city   \n",
       "18     0763  441800   清远市  113.051227,23.685022  city   \n",
       "19     0751  440200   韶关市  113.591544,24.801322  city   \n",
       "20      020  440100   广州市  113.280637,23.125178  city   \n",
       "21     0760  442000   中山市  113.382391,22.521113  city   \n",
       "\n",
       "                                            districts  \n",
       "0   [{'citycode': '0758', 'adcode': '441224', 'nam...  \n",
       "1   [{'citycode': '0757', 'adcode': '440607', 'nam...  \n",
       "2   [{'citycode': '0754', 'adcode': '440513', 'nam...  \n",
       "3   [{'citycode': '0752', 'adcode': '441324', 'nam...  \n",
       "4   [{'citycode': '0755', 'adcode': '440306', 'nam...  \n",
       "5   [{'citycode': '0756', 'adcode': '440402', 'nam...  \n",
       "6   [{'citycode': '0759', 'adcode': '440883', 'nam...  \n",
       "7   [{'citycode': '0662', 'adcode': '441781', 'nam...  \n",
       "8   [{'citycode': '0660', 'adcode': '441523', 'nam...  \n",
       "9   [{'citycode': '0768', 'adcode': '445122', 'nam...  \n",
       "10  [{'citycode': '0750', 'adcode': '440784', 'nam...  \n",
       "11  [{'citycode': '0766', 'adcode': '445322', 'nam...  \n",
       "12                                                 []  \n",
       "13  [{'citycode': '0668', 'adcode': '440983', 'nam...  \n",
       "14  [{'citycode': '0762', 'adcode': '441622', 'nam...  \n",
       "15  [{'citycode': '0753', 'adcode': '441427', 'nam...  \n",
       "16  [{'citycode': '0769', 'adcode': '441900', 'nam...  \n",
       "17  [{'citycode': '0663', 'adcode': '445222', 'nam...  \n",
       "18  [{'citycode': '0763', 'adcode': '441882', 'nam...  \n",
       "19  [{'citycode': '0751', 'adcode': '440282', 'nam...  \n",
       "20  [{'citycode': '020', 'adcode': '440117', 'name...  \n",
       "21  [{'citycode': '0760', 'adcode': '442000', 'nam...  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def district(keywords,subdistrict=None,page=None,offset=None,extensions='base',filter=None,)->dict:\n",
    "    \"\"\"行政区域查询\n",
    "    输入省份即可得到所对应行政区域\"\"\"\n",
    "    url = 'https://restapi.amap.com/v3/config/district?parameters'\n",
    "    params = {\n",
    "        'key':key,\n",
    "        'keywords':keywords,\n",
    "        'subdistrict':subdistrict,\n",
    "        'page':page,\n",
    "        'offset':offset,\n",
    "        'extensions':extensions,\n",
    "        'filter':filter,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "行政区域 = district(keywords='广东',extensions='all',subdistrict=2)\n",
    "\n",
    "\n",
    "df_行政区域_1级 = pd.json_normalize(行政区域[\"districts\"][0]['districts'])\n",
    "display(df_行政区域_1级)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>citycode</th>\n",
       "      <th>adcode</th>\n",
       "      <th>name</th>\n",
       "      <th>center</th>\n",
       "      <th>level</th>\n",
       "      <th>districts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0755</td>\n",
       "      <td>440306</td>\n",
       "      <td>宝安区</td>\n",
       "      <td>113.828671,22.754741</td>\n",
       "      <td>district</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0755</td>\n",
       "      <td>440305</td>\n",
       "      <td>南山区</td>\n",
       "      <td>113.92943,22.531221</td>\n",
       "      <td>district</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0755</td>\n",
       "      <td>440304</td>\n",
       "      <td>福田区</td>\n",
       "      <td>114.05096,22.541009</td>\n",
       "      <td>district</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0755</td>\n",
       "      <td>440308</td>\n",
       "      <td>盐田区</td>\n",
       "      <td>114.235366,22.555069</td>\n",
       "      <td>district</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0755</td>\n",
       "      <td>440303</td>\n",
       "      <td>罗湖区</td>\n",
       "      <td>114.123885,22.555341</td>\n",
       "      <td>district</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>龙岗区</td>\n",
       "      <td>114.251372,22.721511</td>\n",
       "      <td>district</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0755</td>\n",
       "      <td>440309</td>\n",
       "      <td>龙华区</td>\n",
       "      <td>114.044346,22.691963</td>\n",
       "      <td>district</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0755</td>\n",
       "      <td>440310</td>\n",
       "      <td>坪山区</td>\n",
       "      <td>114.338441,22.69423</td>\n",
       "      <td>district</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0755</td>\n",
       "      <td>440311</td>\n",
       "      <td>光明区</td>\n",
       "      <td>113.935895,22.748816</td>\n",
       "      <td>district</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  citycode  adcode name                center     level districts\n",
       "0     0755  440306  宝安区  113.828671,22.754741  district        []\n",
       "1     0755  440305  南山区   113.92943,22.531221  district        []\n",
       "2     0755  440304  福田区   114.05096,22.541009  district        []\n",
       "3     0755  440308  盐田区  114.235366,22.555069  district        []\n",
       "4     0755  440303  罗湖区  114.123885,22.555341  district        []\n",
       "5     0755  440307  龙岗区  114.251372,22.721511  district        []\n",
       "6     0755  440309  龙华区  114.044346,22.691963  district        []\n",
       "7     0755  440310  坪山区   114.338441,22.69423  district        []\n",
       "8     0755  440311  光明区  113.935895,22.748816  district        []"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_行政区域_2级_深圳市 = pd.json_normalize(行政区域[\"districts\"][0]['districts'][4]['districts'])\n",
    "display(df_行政区域_2级_深圳市)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 搜索POI"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [],
   "source": [
    "def poi(keywords:str,city:str):\n",
    "    \"\"\"搜索POI\n",
    "    输入keywords关键词\n",
    "    输入搜索的范围城市\n",
    "    即可得到相关信息的表格\"\"\"\n",
    "    parameters = {\n",
    "        'key':key,\n",
    "        'city':city,\n",
    "        'keywords':keywords, \n",
    "        'output':'json',\n",
    "    }\n",
    "    r = requests.get (\"https://restapi.amap.com/v3/place/text?parameters\", params=parameters)\n",
    "    data = r.json()\n",
    "    pois = []\n",
    "    pois.extend(data['pois'])\n",
    "    import pandas as pd\n",
    "    df_input = pd.DataFrame(pois)\n",
    "    return df_input"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>parent</th>\n",
       "      <th>childtype</th>\n",
       "      <th>name</th>\n",
       "      <th>type</th>\n",
       "      <th>typecode</th>\n",
       "      <th>biz_type</th>\n",
       "      <th>address</th>\n",
       "      <th>location</th>\n",
       "      <th>tel</th>\n",
       "      <th>distance</th>\n",
       "      <th>biz_ext</th>\n",
       "      <th>pname</th>\n",
       "      <th>cityname</th>\n",
       "      <th>adname</th>\n",
       "      <th>importance</th>\n",
       "      <th>shopid</th>\n",
       "      <th>shopinfo</th>\n",
       "      <th>poiweight</th>\n",
       "      <th>photos</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B0FFIJPVMU</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;麦当劳</td>\n",
       "      <td>050302</td>\n",
       "      <td>diner</td>\n",
       "      <td>九龙镇中新知识城九龙大道西侧ZSCN-B1-2号</td>\n",
       "      <td>113.541641,23.333302</td>\n",
       "      <td>020-89854139</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': '3.5', 'cost': '29.00', 'meal_order...</td>\n",
       "      <td>广东省</td>\n",
       "      <td>广州市</td>\n",
       "      <td>黄埔区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'url': 'http://store.is.autonavi.com/showpic...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B0FFIRCRJ9</td>\n",
       "      <td>B0FFIPT5GV</td>\n",
       "      <td>202</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>中央公园附近</td>\n",
       "      <td>113.387812,22.931549</td>\n",
       "      <td>020-31563770</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': '4.5', 'cost': '30.00', 'meal_order...</td>\n",
       "      <td>广东省</td>\n",
       "      <td>广州市</td>\n",
       "      <td>番禺区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'url': 'http://store.is.autonavi.com/showpic...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>B0FFMCOW5F</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;麦当劳</td>\n",
       "      <td>050302</td>\n",
       "      <td>diner</td>\n",
       "      <td>上下九秀丽街名汇中华小吃街旁2楼</td>\n",
       "      <td>113.243492,23.108045</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>广州市</td>\n",
       "      <td>荔湾区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>B0FFJGN3DL</td>\n",
       "      <td>B0FFJMCMJH</td>\n",
       "      <td>202</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;麦当劳</td>\n",
       "      <td>050302</td>\n",
       "      <td>diner</td>\n",
       "      <td>新会万达广场1层</td>\n",
       "      <td>113.046662,22.504894</td>\n",
       "      <td>0750-6666467</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': '4.5', 'cost': '18.00', 'meal_order...</td>\n",
       "      <td>广东省</td>\n",
       "      <td>江门市</td>\n",
       "      <td>新会区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'url': 'http://store.is.autonavi.com/showpic...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>B0FFKC7BNA</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;麦当劳</td>\n",
       "      <td>050302</td>\n",
       "      <td>diner</td>\n",
       "      <td>棉兴北路与棉新大道交叉口西150米</td>\n",
       "      <td>116.593750,23.269919</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>汕头市</td>\n",
       "      <td>潮阳区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'url': 'http://aos-cdn-image.amap.com/sns/ug...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>B0FFLHVJXF</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;麦当劳</td>\n",
       "      <td>050302</td>\n",
       "      <td>diner</td>\n",
       "      <td>新安三路洪浪北地铁站A出口</td>\n",
       "      <td>113.910636,22.574175</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>深圳市</td>\n",
       "      <td>宝安区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>B0FFG1ZUP8</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;麦当劳</td>\n",
       "      <td>050302</td>\n",
       "      <td>diner</td>\n",
       "      <td>凤岗镇油甘埔同兴路</td>\n",
       "      <td>114.172133,22.715406</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>东莞市</td>\n",
       "      <td>东莞市</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>B0FFM0JOWM</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;快餐厅</td>\n",
       "      <td>050300</td>\n",
       "      <td>diner</td>\n",
       "      <td>双龙大道73号首层125室商铺</td>\n",
       "      <td>113.060791,22.603695</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>江门市</td>\n",
       "      <td>蓬江区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>B0FFGNZ8RP</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;麦当劳</td>\n",
       "      <td>050302</td>\n",
       "      <td>diner</td>\n",
       "      <td>兰竹苑</td>\n",
       "      <td>116.603553,23.258734</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>汕头市</td>\n",
       "      <td>潮阳区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'url': 'http://store.is.autonavi.com/showpic...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>B0FFHGRSHA</td>\n",
       "      <td>B0FFFPK5LK</td>\n",
       "      <td>202</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;麦当劳</td>\n",
       "      <td>050302</td>\n",
       "      <td>diner</td>\n",
       "      <td>华旺路北150米</td>\n",
       "      <td>113.994977,22.675617</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>深圳市</td>\n",
       "      <td>龙华区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'url': 'http://store.is.autonavi.com/showpic...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>B0FFM36CG5</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;麦当劳</td>\n",
       "      <td>050302</td>\n",
       "      <td>diner</td>\n",
       "      <td>东升二路中海水岸城生活汇</td>\n",
       "      <td>114.449392,23.075417</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>惠州市</td>\n",
       "      <td>惠城区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>B0FFKUCK6B</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;麦当劳</td>\n",
       "      <td>050302</td>\n",
       "      <td>diner</td>\n",
       "      <td>G1501广州绕城高速南200米</td>\n",
       "      <td>113.206839,22.846054</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>佛山市</td>\n",
       "      <td>顺德区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>B0FFLLAWDG</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;麦当劳</td>\n",
       "      <td>050302</td>\n",
       "      <td>diner</td>\n",
       "      <td>福华一路</td>\n",
       "      <td>114.066929,22.536737</td>\n",
       "      <td>0755-82721974</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': '3.5', 'cost': '26.00', 'meal_order...</td>\n",
       "      <td>广东省</td>\n",
       "      <td>深圳市</td>\n",
       "      <td>福田区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>B0FFMDCW0S</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;麦当劳</td>\n",
       "      <td>050302</td>\n",
       "      <td>diner</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.183208,23.104963</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>佛山市</td>\n",
       "      <td>南海区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>B0FFM8Y2PA</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;快餐厅</td>\n",
       "      <td>050300</td>\n",
       "      <td>diner</td>\n",
       "      <td>香芒西路107号附近</td>\n",
       "      <td>114.152664,22.843904</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>东莞市</td>\n",
       "      <td>东莞市</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>B0FFM58WZV</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;麦当劳</td>\n",
       "      <td>050302</td>\n",
       "      <td>diner</td>\n",
       "      <td>伦教南苑西路8号碧桂园御府</td>\n",
       "      <td>113.209092,22.861297</td>\n",
       "      <td>0757-29286974</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>佛山市</td>\n",
       "      <td>顺德区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>B0FFM4JMJN</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;快餐厅</td>\n",
       "      <td>050300</td>\n",
       "      <td>diner</td>\n",
       "      <td>[]</td>\n",
       "      <td>114.099336,23.013096</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>东莞市</td>\n",
       "      <td>东莞市</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>B0FFM4J64I</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;快餐厅</td>\n",
       "      <td>050300</td>\n",
       "      <td>diner</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.530356,22.500750</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>中山市</td>\n",
       "      <td>中山市</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>B0FFM1DS7T</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;麦当劳</td>\n",
       "      <td>050302</td>\n",
       "      <td>diner</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.815621,23.102564</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>东莞市</td>\n",
       "      <td>东莞市</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>B0FFM0N2FW</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>麦当劳</td>\n",
       "      <td>餐饮服务;快餐厅;快餐厅</td>\n",
       "      <td>050300</td>\n",
       "      <td>diner</td>\n",
       "      <td>映月路618号附近</td>\n",
       "      <td>113.344645,22.047246</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>{'rating': [], 'cost': [], 'meal_ordering': '0'}</td>\n",
       "      <td>广东省</td>\n",
       "      <td>珠海市</td>\n",
       "      <td>金湾区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            id      parent childtype name              type typecode biz_type  \\\n",
       "0   B0FFIJPVMU          []        []  麦当劳      餐饮服务;快餐厅;麦当劳   050302    diner   \n",
       "1   B0FFIRCRJ9  B0FFIPT5GV       202  麦当劳  餐饮服务;餐饮相关场所;餐饮相关   050000    diner   \n",
       "2   B0FFMCOW5F          []        []  麦当劳      餐饮服务;快餐厅;麦当劳   050302    diner   \n",
       "3   B0FFJGN3DL  B0FFJMCMJH       202  麦当劳      餐饮服务;快餐厅;麦当劳   050302    diner   \n",
       "4   B0FFKC7BNA          []        []  麦当劳      餐饮服务;快餐厅;麦当劳   050302    diner   \n",
       "5   B0FFLHVJXF          []        []  麦当劳      餐饮服务;快餐厅;麦当劳   050302    diner   \n",
       "6   B0FFG1ZUP8          []        []  麦当劳      餐饮服务;快餐厅;麦当劳   050302    diner   \n",
       "7   B0FFM0JOWM          []        []  麦当劳      餐饮服务;快餐厅;快餐厅   050300    diner   \n",
       "8   B0FFGNZ8RP          []        []  麦当劳      餐饮服务;快餐厅;麦当劳   050302    diner   \n",
       "9   B0FFHGRSHA  B0FFFPK5LK       202  麦当劳      餐饮服务;快餐厅;麦当劳   050302    diner   \n",
       "10  B0FFM36CG5          []        []  麦当劳      餐饮服务;快餐厅;麦当劳   050302    diner   \n",
       "11  B0FFKUCK6B          []        []  麦当劳      餐饮服务;快餐厅;麦当劳   050302    diner   \n",
       "12  B0FFLLAWDG          []        []  麦当劳      餐饮服务;快餐厅;麦当劳   050302    diner   \n",
       "13  B0FFMDCW0S          []        []  麦当劳      餐饮服务;快餐厅;麦当劳   050302    diner   \n",
       "14  B0FFM8Y2PA          []        []  麦当劳      餐饮服务;快餐厅;快餐厅   050300    diner   \n",
       "15  B0FFM58WZV          []        []  麦当劳      餐饮服务;快餐厅;麦当劳   050302    diner   \n",
       "16  B0FFM4JMJN          []        []  麦当劳      餐饮服务;快餐厅;快餐厅   050300    diner   \n",
       "17  B0FFM4J64I          []        []  麦当劳      餐饮服务;快餐厅;快餐厅   050300    diner   \n",
       "18  B0FFM1DS7T          []        []  麦当劳      餐饮服务;快餐厅;麦当劳   050302    diner   \n",
       "19  B0FFM0N2FW          []        []  麦当劳      餐饮服务;快餐厅;快餐厅   050300    diner   \n",
       "\n",
       "                     address              location            tel distance  \\\n",
       "0   九龙镇中新知识城九龙大道西侧ZSCN-B1-2号  113.541641,23.333302   020-89854139       []   \n",
       "1                     中央公园附近  113.387812,22.931549   020-31563770       []   \n",
       "2           上下九秀丽街名汇中华小吃街旁2楼  113.243492,23.108045             []       []   \n",
       "3                   新会万达广场1层  113.046662,22.504894   0750-6666467       []   \n",
       "4          棉兴北路与棉新大道交叉口西150米  116.593750,23.269919             []       []   \n",
       "5              新安三路洪浪北地铁站A出口  113.910636,22.574175             []       []   \n",
       "6                  凤岗镇油甘埔同兴路  114.172133,22.715406             []       []   \n",
       "7            双龙大道73号首层125室商铺  113.060791,22.603695             []       []   \n",
       "8                        兰竹苑  116.603553,23.258734             []       []   \n",
       "9                   华旺路北150米  113.994977,22.675617             []       []   \n",
       "10              东升二路中海水岸城生活汇  114.449392,23.075417             []       []   \n",
       "11          G1501广州绕城高速南200米  113.206839,22.846054             []       []   \n",
       "12                      福华一路  114.066929,22.536737  0755-82721974       []   \n",
       "13                        []  113.183208,23.104963             []       []   \n",
       "14                香芒西路107号附近  114.152664,22.843904             []       []   \n",
       "15             伦教南苑西路8号碧桂园御府  113.209092,22.861297  0757-29286974       []   \n",
       "16                        []  114.099336,23.013096             []       []   \n",
       "17                        []  113.530356,22.500750             []       []   \n",
       "18                        []  113.815621,23.102564             []       []   \n",
       "19                 映月路618号附近  113.344645,22.047246             []       []   \n",
       "\n",
       "                                              biz_ext pname cityname adname  \\\n",
       "0   {'rating': '3.5', 'cost': '29.00', 'meal_order...   广东省      广州市    黄埔区   \n",
       "1   {'rating': '4.5', 'cost': '30.00', 'meal_order...   广东省      广州市    番禺区   \n",
       "2    {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      广州市    荔湾区   \n",
       "3   {'rating': '4.5', 'cost': '18.00', 'meal_order...   广东省      江门市    新会区   \n",
       "4    {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      汕头市    潮阳区   \n",
       "5    {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      深圳市    宝安区   \n",
       "6    {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      东莞市    东莞市   \n",
       "7    {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      江门市    蓬江区   \n",
       "8    {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      汕头市    潮阳区   \n",
       "9    {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      深圳市    龙华区   \n",
       "10   {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      惠州市    惠城区   \n",
       "11   {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      佛山市    顺德区   \n",
       "12  {'rating': '3.5', 'cost': '26.00', 'meal_order...   广东省      深圳市    福田区   \n",
       "13   {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      佛山市    南海区   \n",
       "14   {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      东莞市    东莞市   \n",
       "15   {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      佛山市    顺德区   \n",
       "16   {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      东莞市    东莞市   \n",
       "17   {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      中山市    中山市   \n",
       "18   {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      东莞市    东莞市   \n",
       "19   {'rating': [], 'cost': [], 'meal_ordering': '0'}   广东省      珠海市    金湾区   \n",
       "\n",
       "   importance shopid shopinfo poiweight  \\\n",
       "0          []     []        0        []   \n",
       "1          []     []        0        []   \n",
       "2          []     []        0        []   \n",
       "3          []     []        0        []   \n",
       "4          []     []        0        []   \n",
       "5          []     []        0        []   \n",
       "6          []     []        0        []   \n",
       "7          []     []        0        []   \n",
       "8          []     []        0        []   \n",
       "9          []     []        0        []   \n",
       "10         []     []        0        []   \n",
       "11         []     []        0        []   \n",
       "12         []     []        0        []   \n",
       "13         []     []        0        []   \n",
       "14         []     []        0        []   \n",
       "15         []     []        0        []   \n",
       "16         []     []        0        []   \n",
       "17         []     []        0        []   \n",
       "18         []     []        0        []   \n",
       "19         []     []        0        []   \n",
       "\n",
       "                                               photos  \n",
       "0   [{'url': 'http://store.is.autonavi.com/showpic...  \n",
       "1   [{'url': 'http://store.is.autonavi.com/showpic...  \n",
       "2                                                  []  \n",
       "3   [{'url': 'http://store.is.autonavi.com/showpic...  \n",
       "4   [{'url': 'http://aos-cdn-image.amap.com/sns/ug...  \n",
       "5                                                  []  \n",
       "6                                                  []  \n",
       "7                                                  []  \n",
       "8   [{'url': 'http://store.is.autonavi.com/showpic...  \n",
       "9   [{'url': 'http://store.is.autonavi.com/showpic...  \n",
       "10                                                 []  \n",
       "11                                                 []  \n",
       "12                                                 []  \n",
       "13                                                 []  \n",
       "14                                                 []  \n",
       "15                                                 []  \n",
       "16                                                 []  \n",
       "17                                                 []  \n",
       "18                                                 []  \n",
       "19                                                 []  "
      ]
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = poi(\"麦当劳\",\"广东\")\n",
    "data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 周边搜索"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [],
   "source": [
    "def place_around(location,keywords=None,types=None,city=None,redius=None,sortrule=None,offset=None,page=None,extensions='base',sig=None)->dict:   \n",
    "    url = 'https://restapi.amap.com/v3/place/around?parameters'    \n",
    "    params={\n",
    "        'key':key,\n",
    "        'keywords':keywords,\n",
    "        'location':location,\n",
    "        'types':types,\n",
    "        'city':city,\n",
    "        'redius':redius,\n",
    "        'sortrule':sortrule,\n",
    "        'offset':offset,\n",
    "        'page':page,\n",
    "        'extensions':extensions,\n",
    "        'output':'json'    }    \n",
    "    response = requests.get(url,params=params)    \n",
    "    data = response.json()   \n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'count': '870',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'suggestion': {'keywords': [], 'cities': []},\n",
       " 'pois': [{'id': 'B0FFKTDSK4',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '新鲜吧',\n",
       "   'type': '餐饮服务;餐饮相关场所;餐饮相关',\n",
       "   'typecode': '050000',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '正佳广场M层081铺',\n",
       "   'location': '113.327030,23.132175',\n",
       "   'tel': [],\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFKS7EQT',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '卜小乐',\n",
       "   'type': '餐饮服务;餐饮相关场所;餐饮相关',\n",
       "   'typecode': '050000',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '天河路228号正佳广场五楼',\n",
       "   'location': '113.327030,23.132175',\n",
       "   'tel': [],\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFK04CFG',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '道顿·鱼二郎',\n",
       "   'type': '餐饮服务;外国餐厅;外国餐厅',\n",
       "   'typecode': '050200',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '天河路228号正佳广场B1层道顿堀九丁目日式美食街内',\n",
       "   'location': '113.327030,23.132175',\n",
       "   'tel': '020-89817736',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFIXLCX2',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': 'q·chainsoo',\n",
       "   'type': '生活服务;美容美发店;美容美发店',\n",
       "   'typecode': '071100',\n",
       "   'biz_type': [],\n",
       "   'address': '正佳广场',\n",
       "   'location': '113.327030,23.132175',\n",
       "   'tel': '18613070961',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFH6K3CT',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '尚栈燕窝虫草专门店(正佳广场店)',\n",
       "   'type': '餐饮服务;餐饮相关场所;餐饮相关',\n",
       "   'typecode': '050000',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '天河路228号正佳广场B1层(百佳TASTE服务台旁)',\n",
       "   'location': '113.327030,23.132175',\n",
       "   'tel': '020-38331109',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFI7WHLB',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '小龙坎老火锅(正佳店)',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'typecode': '050100',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '天河路228号正佳广场3层3A020-5、7铺',\n",
       "   'location': '113.327030,23.132176',\n",
       "   'tel': '020-87066433',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFI2BU84',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': 'HI TEA酷道.茶饮(正佳广场)',\n",
       "   'type': '餐饮服务;冷饮店;冷饮店',\n",
       "   'typecode': '050700',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '天河路228号正佳广场M层b51号',\n",
       "   'location': '113.327028,23.132174',\n",
       "   'tel': '15992429291;18102696921',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFL7CSKR',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '今晚佛跳墙·首创面包蟹佛跳墙(正佳广场店)',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'typecode': '050100',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '体育西路228号正佳广场5楼A30乘东南门8.9.10号电梯',\n",
       "   'location': '113.327034,23.132175',\n",
       "   'tel': '18922726083',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFKTT2AQ',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '糕妹正传',\n",
       "   'type': '餐饮服务;餐饮相关场所;餐饮相关',\n",
       "   'typecode': '050000',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '正佳广场M层E021铺',\n",
       "   'location': '113.327034,23.132175',\n",
       "   'tel': [],\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFKPHP87',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '黑炮石头饼(正佳广场店)',\n",
       "   'type': '餐饮服务;中餐厅;特色/地方风味餐厅',\n",
       "   'typecode': '050118',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '天河路正佳广场负一层',\n",
       "   'location': '113.327034,23.132175',\n",
       "   'tel': [],\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFK5SCBZ',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '车轮饼(时尚天河店)',\n",
       "   'type': '餐饮服务;餐饮相关场所;餐饮相关',\n",
       "   'typecode': '050000',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '天河路228号正佳广场M层G98-4',\n",
       "   'location': '113.327034,23.132175',\n",
       "   'tel': '13822200575',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFJOYUZS',\n",
       "   'parent': 'B00140W2J2',\n",
       "   'childtype': '202',\n",
       "   'name': '莫西先生广州甜品店有限公司',\n",
       "   'type': '餐饮服务;甜品店;甜品店',\n",
       "   'typecode': '050900',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '天河路228号正佳广场负一层负1fbg003',\n",
       "   'location': '113.327034,23.132175',\n",
       "   'tel': '13632328890',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFJO34OA',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '顺德美食',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'typecode': '050100',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '天河路228号正佳广场六楼',\n",
       "   'location': '113.327034,23.132175',\n",
       "   'tel': [],\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFJJ25F6',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '晶捷尊',\n",
       "   'type': '生活服务;生活服务场所;生活服务场所',\n",
       "   'typecode': '070000',\n",
       "   'biz_type': [],\n",
       "   'address': '正佳广场mb063A',\n",
       "   'location': '113.327034,23.132175',\n",
       "   'tel': '15119732335;13688878060',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFH12A61',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '天际',\n",
       "   'type': '商务住宅;商务住宅相关;商务住宅相关',\n",
       "   'typecode': '120000',\n",
       "   'biz_type': [],\n",
       "   'address': '天河路228号正佳广场3层',\n",
       "   'location': '113.327034,23.132175',\n",
       "   'tel': [],\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B00141TMCO',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '巴黎婚纱摄影(时尚天河店)',\n",
       "   'type': '生活服务;摄影冲印店;摄影冲印',\n",
       "   'typecode': '071300',\n",
       "   'biz_type': [],\n",
       "   'address': '天河路228号正佳广场B1层',\n",
       "   'location': '113.327034,23.132175',\n",
       "   'tel': [],\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFF742LJ',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '日之船章鱼小丸子(正佳广场店)',\n",
       "   'type': '餐饮服务;餐饮相关场所;餐饮相关',\n",
       "   'typecode': '050000',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '天河路228号正佳购物广场M层G92号',\n",
       "   'location': '113.327026,23.132170',\n",
       "   'tel': '13926999100;13392628567',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFMBGOPU',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '井弘·手造饭团(正佳广场店)',\n",
       "   'type': '餐饮服务;快餐厅;快餐厅',\n",
       "   'typecode': '050300',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '天河路正佳广场负一层BG006铺(狮头牌卤味研究所旁)',\n",
       "   'location': '113.327021,23.132172',\n",
       "   'tel': [],\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFM0SQBD',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '酸菜鱼(正佳广场店)',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'typecode': '050100',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '天河路228号正佳广场3层',\n",
       "   'location': '113.327021,23.132172',\n",
       "   'tel': '18102605727',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFLASM83',\n",
       "   'parent': 'B00140TFHO',\n",
       "   'childtype': '202',\n",
       "   'name': '海洋极地世界售票大厅',\n",
       "   'type': '生活服务;售票处;售票处',\n",
       "   'typecode': '070300',\n",
       "   'biz_type': [],\n",
       "   'address': '天河路228号正佳广场二楼',\n",
       "   'location': '113.327021,23.132172',\n",
       "   'tel': [],\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '2',\n",
       "   'poiweight': [],\n",
       "   'photos': []}]}"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "正佳广场_周边POI = place_around(正佳广场_location)\n",
    "正佳广场_周边POI"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>parent</th>\n",
       "      <th>childtype</th>\n",
       "      <th>name</th>\n",
       "      <th>type</th>\n",
       "      <th>typecode</th>\n",
       "      <th>biz_type</th>\n",
       "      <th>address</th>\n",
       "      <th>location</th>\n",
       "      <th>tel</th>\n",
       "      <th>distance</th>\n",
       "      <th>biz_ext</th>\n",
       "      <th>importance</th>\n",
       "      <th>shopid</th>\n",
       "      <th>shopinfo</th>\n",
       "      <th>poiweight</th>\n",
       "      <th>photos</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B0FFKTDSK4</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>新鲜吧</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>正佳广场M层081铺</td>\n",
       "      <td>113.327030,23.132175</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B0FFKS7EQT</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>卜小乐</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>天河路228号正佳广场五楼</td>\n",
       "      <td>113.327030,23.132175</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>B0FFK04CFG</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>道顿·鱼二郎</td>\n",
       "      <td>餐饮服务;外国餐厅;外国餐厅</td>\n",
       "      <td>050200</td>\n",
       "      <td>diner</td>\n",
       "      <td>天河路228号正佳广场B1层道顿堀九丁目日式美食街内</td>\n",
       "      <td>113.327030,23.132175</td>\n",
       "      <td>020-89817736</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>B0FFIXLCX2</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>q·chainsoo</td>\n",
       "      <td>生活服务;美容美发店;美容美发店</td>\n",
       "      <td>071100</td>\n",
       "      <td>[]</td>\n",
       "      <td>正佳广场</td>\n",
       "      <td>113.327030,23.132175</td>\n",
       "      <td>18613070961</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>B0FFH6K3CT</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>尚栈燕窝虫草专门店(正佳广场店)</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>天河路228号正佳广场B1层(百佳TASTE服务台旁)</td>\n",
       "      <td>113.327030,23.132175</td>\n",
       "      <td>020-38331109</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>B0FFI7WHLB</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>小龙坎老火锅(正佳店)</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>天河路228号正佳广场3层3A020-5、7铺</td>\n",
       "      <td>113.327030,23.132176</td>\n",
       "      <td>020-87066433</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>B0FFI2BU84</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>HI TEA酷道.茶饮(正佳广场)</td>\n",
       "      <td>餐饮服务;冷饮店;冷饮店</td>\n",
       "      <td>050700</td>\n",
       "      <td>diner</td>\n",
       "      <td>天河路228号正佳广场M层b51号</td>\n",
       "      <td>113.327028,23.132174</td>\n",
       "      <td>15992429291;18102696921</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>B0FFL7CSKR</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>今晚佛跳墙·首创面包蟹佛跳墙(正佳广场店)</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>体育西路228号正佳广场5楼A30乘东南门8.9.10号电梯</td>\n",
       "      <td>113.327034,23.132175</td>\n",
       "      <td>18922726083</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>B0FFKTT2AQ</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>糕妹正传</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>正佳广场M层E021铺</td>\n",
       "      <td>113.327034,23.132175</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>B0FFKPHP87</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>黑炮石头饼(正佳广场店)</td>\n",
       "      <td>餐饮服务;中餐厅;特色/地方风味餐厅</td>\n",
       "      <td>050118</td>\n",
       "      <td>diner</td>\n",
       "      <td>天河路正佳广场负一层</td>\n",
       "      <td>113.327034,23.132175</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>B0FFK5SCBZ</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>车轮饼(时尚天河店)</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>天河路228号正佳广场M层G98-4</td>\n",
       "      <td>113.327034,23.132175</td>\n",
       "      <td>13822200575</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>B0FFJOYUZS</td>\n",
       "      <td>B00140W2J2</td>\n",
       "      <td>202</td>\n",
       "      <td>莫西先生广州甜品店有限公司</td>\n",
       "      <td>餐饮服务;甜品店;甜品店</td>\n",
       "      <td>050900</td>\n",
       "      <td>diner</td>\n",
       "      <td>天河路228号正佳广场负一层负1fbg003</td>\n",
       "      <td>113.327034,23.132175</td>\n",
       "      <td>13632328890</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>B0FFJO34OA</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>顺德美食</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>天河路228号正佳广场六楼</td>\n",
       "      <td>113.327034,23.132175</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>B0FFJJ25F6</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>晶捷尊</td>\n",
       "      <td>生活服务;生活服务场所;生活服务场所</td>\n",
       "      <td>070000</td>\n",
       "      <td>[]</td>\n",
       "      <td>正佳广场mb063A</td>\n",
       "      <td>113.327034,23.132175</td>\n",
       "      <td>15119732335;13688878060</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>B0FFH12A61</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>天际</td>\n",
       "      <td>商务住宅;商务住宅相关;商务住宅相关</td>\n",
       "      <td>120000</td>\n",
       "      <td>[]</td>\n",
       "      <td>天河路228号正佳广场3层</td>\n",
       "      <td>113.327034,23.132175</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>B00141TMCO</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>巴黎婚纱摄影(时尚天河店)</td>\n",
       "      <td>生活服务;摄影冲印店;摄影冲印</td>\n",
       "      <td>071300</td>\n",
       "      <td>[]</td>\n",
       "      <td>天河路228号正佳广场B1层</td>\n",
       "      <td>113.327034,23.132175</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>B0FFF742LJ</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>日之船章鱼小丸子(正佳广场店)</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>天河路228号正佳购物广场M层G92号</td>\n",
       "      <td>113.327026,23.132170</td>\n",
       "      <td>13926999100;13392628567</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>B0FFMBGOPU</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>井弘·手造饭团(正佳广场店)</td>\n",
       "      <td>餐饮服务;快餐厅;快餐厅</td>\n",
       "      <td>050300</td>\n",
       "      <td>diner</td>\n",
       "      <td>天河路正佳广场负一层BG006铺(狮头牌卤味研究所旁)</td>\n",
       "      <td>113.327021,23.132172</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>B0FFM0SQBD</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>酸菜鱼(正佳广场店)</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>天河路228号正佳广场3层</td>\n",
       "      <td>113.327021,23.132172</td>\n",
       "      <td>18102605727</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>B0FFLASM83</td>\n",
       "      <td>B00140TFHO</td>\n",
       "      <td>202</td>\n",
       "      <td>海洋极地世界售票大厅</td>\n",
       "      <td>生活服务;售票处;售票处</td>\n",
       "      <td>070300</td>\n",
       "      <td>[]</td>\n",
       "      <td>天河路228号正佳广场二楼</td>\n",
       "      <td>113.327021,23.132172</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>2</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            id      parent childtype                   name  \\\n",
       "0   B0FFKTDSK4  B00140TFHO       202                    新鲜吧   \n",
       "1   B0FFKS7EQT  B00140TFHO       202                    卜小乐   \n",
       "2   B0FFK04CFG  B00140TFHO       202                 道顿·鱼二郎   \n",
       "3   B0FFIXLCX2  B00140TFHO       202             q·chainsoo   \n",
       "4   B0FFH6K3CT  B00140TFHO       202       尚栈燕窝虫草专门店(正佳广场店)   \n",
       "5   B0FFI7WHLB  B00140TFHO       202            小龙坎老火锅(正佳店)   \n",
       "6   B0FFI2BU84  B00140TFHO       202      HI TEA酷道.茶饮(正佳广场)   \n",
       "7   B0FFL7CSKR  B00140TFHO       202  今晚佛跳墙·首创面包蟹佛跳墙(正佳广场店)   \n",
       "8   B0FFKTT2AQ  B00140TFHO       202                   糕妹正传   \n",
       "9   B0FFKPHP87  B00140TFHO       202           黑炮石头饼(正佳广场店)   \n",
       "10  B0FFK5SCBZ  B00140TFHO       202             车轮饼(时尚天河店)   \n",
       "11  B0FFJOYUZS  B00140W2J2       202          莫西先生广州甜品店有限公司   \n",
       "12  B0FFJO34OA  B00140TFHO       202                   顺德美食   \n",
       "13  B0FFJJ25F6  B00140TFHO       202                    晶捷尊   \n",
       "14  B0FFH12A61          []        []                     天际   \n",
       "15  B00141TMCO  B00140TFHO       202          巴黎婚纱摄影(时尚天河店)   \n",
       "16  B0FFF742LJ  B00140TFHO       202        日之船章鱼小丸子(正佳广场店)   \n",
       "17  B0FFMBGOPU          []        []         井弘·手造饭团(正佳广场店)   \n",
       "18  B0FFM0SQBD  B00140TFHO       202             酸菜鱼(正佳广场店)   \n",
       "19  B0FFLASM83  B00140TFHO       202             海洋极地世界售票大厅   \n",
       "\n",
       "                  type typecode biz_type                         address  \\\n",
       "0     餐饮服务;餐饮相关场所;餐饮相关   050000    diner                      正佳广场M层081铺   \n",
       "1     餐饮服务;餐饮相关场所;餐饮相关   050000    diner                   天河路228号正佳广场五楼   \n",
       "2       餐饮服务;外国餐厅;外国餐厅   050200    diner      天河路228号正佳广场B1层道顿堀九丁目日式美食街内   \n",
       "3     生活服务;美容美发店;美容美发店   071100       []                            正佳广场   \n",
       "4     餐饮服务;餐饮相关场所;餐饮相关   050000    diner     天河路228号正佳广场B1层(百佳TASTE服务台旁)   \n",
       "5         餐饮服务;中餐厅;中餐厅   050100    diner         天河路228号正佳广场3层3A020-5、7铺   \n",
       "6         餐饮服务;冷饮店;冷饮店   050700    diner               天河路228号正佳广场M层b51号   \n",
       "7         餐饮服务;中餐厅;中餐厅   050100    diner  体育西路228号正佳广场5楼A30乘东南门8.9.10号电梯   \n",
       "8     餐饮服务;餐饮相关场所;餐饮相关   050000    diner                     正佳广场M层E021铺   \n",
       "9   餐饮服务;中餐厅;特色/地方风味餐厅   050118    diner                      天河路正佳广场负一层   \n",
       "10    餐饮服务;餐饮相关场所;餐饮相关   050000    diner              天河路228号正佳广场M层G98-4   \n",
       "11        餐饮服务;甜品店;甜品店   050900    diner          天河路228号正佳广场负一层负1fbg003   \n",
       "12        餐饮服务;中餐厅;中餐厅   050100    diner                   天河路228号正佳广场六楼   \n",
       "13  生活服务;生活服务场所;生活服务场所   070000       []                      正佳广场mb063A   \n",
       "14  商务住宅;商务住宅相关;商务住宅相关   120000       []                   天河路228号正佳广场3层   \n",
       "15     生活服务;摄影冲印店;摄影冲印   071300       []                  天河路228号正佳广场B1层   \n",
       "16    餐饮服务;餐饮相关场所;餐饮相关   050000    diner             天河路228号正佳购物广场M层G92号   \n",
       "17        餐饮服务;快餐厅;快餐厅   050300    diner     天河路正佳广场负一层BG006铺(狮头牌卤味研究所旁)   \n",
       "18        餐饮服务;中餐厅;中餐厅   050100    diner                   天河路228号正佳广场3层   \n",
       "19        生活服务;售票处;售票处   070300       []                   天河路228号正佳广场二楼   \n",
       "\n",
       "                location                      tel distance biz_ext importance  \\\n",
       "0   113.327030,23.132175                       []        0      []         []   \n",
       "1   113.327030,23.132175                       []        0      []         []   \n",
       "2   113.327030,23.132175             020-89817736        0      []         []   \n",
       "3   113.327030,23.132175              18613070961        0      []         []   \n",
       "4   113.327030,23.132175             020-38331109        0      []         []   \n",
       "5   113.327030,23.132176             020-87066433        0      []         []   \n",
       "6   113.327028,23.132174  15992429291;18102696921        0      []         []   \n",
       "7   113.327034,23.132175              18922726083        0      []         []   \n",
       "8   113.327034,23.132175                       []        0      []         []   \n",
       "9   113.327034,23.132175                       []        0      []         []   \n",
       "10  113.327034,23.132175              13822200575        0      []         []   \n",
       "11  113.327034,23.132175              13632328890        0      []         []   \n",
       "12  113.327034,23.132175                       []        0      []         []   \n",
       "13  113.327034,23.132175  15119732335;13688878060        0      []         []   \n",
       "14  113.327034,23.132175                       []        0      []         []   \n",
       "15  113.327034,23.132175                       []        0      []         []   \n",
       "16  113.327026,23.132170  13926999100;13392628567        0      []         []   \n",
       "17  113.327021,23.132172                       []        0      []         []   \n",
       "18  113.327021,23.132172              18102605727        0      []         []   \n",
       "19  113.327021,23.132172                       []        0      []         []   \n",
       "\n",
       "   shopid shopinfo poiweight photos  \n",
       "0      []        0        []     []  \n",
       "1      []        0        []     []  \n",
       "2      []        0        []     []  \n",
       "3      []        0        []     []  \n",
       "4      []        0        []     []  \n",
       "5      []        0        []     []  \n",
       "6      []        0        []     []  \n",
       "7      []        0        []     []  \n",
       "8      []        0        []     []  \n",
       "9      []        0        []     []  \n",
       "10     []        0        []     []  \n",
       "11     []        0        []     []  \n",
       "12     []        0        []     []  \n",
       "13     []        0        []     []  \n",
       "14     []        0        []     []  \n",
       "15     []        0        []     []  \n",
       "16     []        0        []     []  \n",
       "17     []        0        []     []  \n",
       "18     []        0        []     []  \n",
       "19     []        2        []     []  "
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_正佳广场_周边POI = pd.json_normalize(正佳广场_周边POI['pois'])\n",
    "df_正佳广场_周边POI"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# ip定位"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [],
   "source": [
    "def ip(ip:str):\n",
    "    \"\"\"ip定位可以帮你定位IP的所在位置，输入对应IP即可\"\"\"\n",
    "    parameters = {\n",
    "        'key':key,\n",
    "        'ip':ip,\n",
    "        'output':'json'\n",
    "    }\n",
    "    r = requests.get (\"https://restapi.amap.com/v3/ip?parameters\", params=parameters)\n",
    "    data = r.json()\n",
    "    del data['status']\n",
    "    del data['info']\n",
    "    df = [\"省份: %s\"%(data['province']),\"地区：%s\"%(data['city']),\"地理编码: %s\"%(data['adcode']),\"经纬度: %s\"%(data['rectangle'])]\n",
    "    print(\"ip:\"+ip)\n",
    "    for i in df:\n",
    "        print(i)\n",
    "    return"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ip:182.254.192.27\n",
      "省份: 广东省\n",
      "地区：广州市\n",
      "地理编码: 440100\n",
      "经纬度: 113.1017375,22.93212254;113.6770499,23.3809537\n"
     ]
    }
   ],
   "source": [
    "ip(\"182.254.192.27\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 静态地图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [],
   "source": [
    "from PIL import Image\n",
    "from io import BytesIO\n",
    "def staticmap(location,zoom)->dict:\n",
    "    \"\"\"zoom:设置地图大小\n",
    "       location:设置地图中心坐标\n",
    "    \"\"\"\n",
    "    url = 'https://restapi.amap.com/v3/staticmap?parameters'\n",
    "    params = {\n",
    "        'key':key,\n",
    "        'location':location,\n",
    "        'zoom':zoom,\n",
    "        \n",
    "    }\n",
    "   \n",
    "    response = requests.get(url,params=params)\n",
    "    data = Image.open(BytesIO(response.content))\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<PIL.PngImagePlugin.PngImageFile image mode=P size=400x400 at 0x21ACCDEF788>"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "staticmap(location=正佳广场_location,zoom=17)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 坐标转换"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [],
   "source": [
    "def assistant(locations:str,coordsys:str):\n",
    "    \"\"\"坐标转换\n",
    "    locations填入非高德坐标\"\"\"\n",
    "    parameters = {\n",
    "        'key':key,\n",
    "        'coordsys':coordsys,\n",
    "        'locations':locations,\n",
    "        'output':'json'\n",
    "        \n",
    "    }\n",
    "    r = requests.get (\"https://restapi.amap.com/v3/assistant/coordinate/convert?parameters\", params=parameters)\n",
    "    data=r.json()['locations']\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'116.487585177952,39.991754014757;116.487585177952,39.991653917101'"
      ]
     },
     "execution_count": 113,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "assistant(\"116.481499,39.990475|116.481499,39.990375\",\"gps\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 天气查询"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [],
   "source": [
    "def weather(city:str):\n",
    "    \"\"\"天气查询\n",
    "    查询当地天气情况\"\"\"\n",
    "    parameters = {\n",
    "        'key':key,\n",
    "        'city':city,\n",
    "        'output':'json'\n",
    "        \n",
    "    }\n",
    "    r = requests.get (\"https://restapi.amap.com/v3/weather/weatherInfo?parameters\", params=parameters)\n",
    "    data=r.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'count': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'lives': [{'province': '广东',\n",
       "   'city': '广州市',\n",
       "   'adcode': '440100',\n",
       "   'weather': '阴',\n",
       "   'temperature': '18',\n",
       "   'winddirection': '南',\n",
       "   'windpower': '≤3',\n",
       "   'humidity': '91',\n",
       "   'reporttime': '2020-04-23 10:52:48'}]}"
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "weather('广州')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 输入提示"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [],
   "source": [
    "def inputtips(keywords:str):\n",
    "    \"\"\"关键词查询\"\"\"\n",
    "    parameters = {\n",
    "        'key':key,\n",
    "        'keywords':keywords,\n",
    "        'output':'json'\n",
    "        \n",
    "    }\n",
    "    r = requests.get (\"https://restapi.amap.com/v3/assistant/inputtips?parameters\", params=parameters)\n",
    "    data=r.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'count': '10',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'tips': [{'id': 'B0FFLMJ44X',\n",
       "   'name': '广州大学',\n",
       "   'district': '广东省广州市番禺区',\n",
       "   'adcode': '440113',\n",
       "   'location': '113.370500,23.037136',\n",
       "   'address': [],\n",
       "   'typecode': '141201',\n",
       "   'city': []},\n",
       "  {'id': 'B00140T8GN',\n",
       "   'name': '广州大学城体育中心',\n",
       "   'district': '广东省广州市番禺区',\n",
       "   'adcode': '440113',\n",
       "   'location': '113.391315,23.055521',\n",
       "   'address': '大学城内环东路208号',\n",
       "   'typecode': '080101',\n",
       "   'city': []},\n",
       "  {'id': 'B00140UEYF',\n",
       "   'name': '广州大学松田学院',\n",
       "   'district': '广东省广州市增城区',\n",
       "   'adcode': '440118',\n",
       "   'location': '113.725964,23.277078',\n",
       "   'address': '朱村大道东432号',\n",
       "   'typecode': '141201',\n",
       "   'city': []},\n",
       "  {'id': 'B0FFK7GDEE',\n",
       "   'name': '广州大学',\n",
       "   'district': '广东省广州市越秀区',\n",
       "   'adcode': '440104',\n",
       "   'location': '113.265927,23.148475',\n",
       "   'address': '飞鹅新村社区(飞鹅路)',\n",
       "   'typecode': '141201',\n",
       "   'city': []},\n",
       "  {'id': 'B00140TV9S',\n",
       "   'name': '广州大学华软软件学院',\n",
       "   'district': '广东省广州市从化区',\n",
       "   'adcode': '440117',\n",
       "   'location': '113.495497,23.451012',\n",
       "   'address': '广从南路548号',\n",
       "   'typecode': '141201',\n",
       "   'city': []},\n",
       "  {'id': 'B00140AM0Y',\n",
       "   'name': '广州大学大学城校区',\n",
       "   'district': '广东省广州市番禺区',\n",
       "   'adcode': '440113',\n",
       "   'location': '113.372254,23.041061',\n",
       "   'address': '大学城外环西路230号',\n",
       "   'typecode': '141201',\n",
       "   'city': []},\n",
       "  {'id': 'B00140A367',\n",
       "   'name': '广州大学桂花岗校区',\n",
       "   'district': '广东省广州市越秀区',\n",
       "   'adcode': '440104',\n",
       "   'location': '113.266066,23.149009',\n",
       "   'address': '桂花岗东1号',\n",
       "   'typecode': '141201',\n",
       "   'city': []},\n",
       "  {'id': 'B0FFFABDXL',\n",
       "   'name': '广州大学城雅乐轩酒店',\n",
       "   'district': '广东省广州市番禺区',\n",
       "   'adcode': '440113',\n",
       "   'location': '113.405919,23.039546',\n",
       "   'address': '立德街66号',\n",
       "   'typecode': '100103',\n",
       "   'city': []},\n",
       "  {'id': 'B0014243CZ',\n",
       "   'name': '广州大学附属小学',\n",
       "   'district': '广东省广州市番禺区',\n",
       "   'adcode': '440113',\n",
       "   'location': '113.386223,23.054777',\n",
       "   'address': '大学城星海东路60号',\n",
       "   'typecode': '141203',\n",
       "   'city': []},\n",
       "  {'id': 'B00140TVEF',\n",
       "   'name': '广州大学纺织服装学院',\n",
       "   'district': '广东省广州市白云区',\n",
       "   'adcode': '440111',\n",
       "   'location': '113.219164,23.158864',\n",
       "   'address': '增槎路松北球场直街33号',\n",
       "   'typecode': '141201',\n",
       "   'city': []}]}"
      ]
     },
     "execution_count": 117,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "inputtips(\"广州大学\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 交通态势"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [],
   "source": [
    "def rectangle(rectangle:str):\n",
    "    \"\"\"rectangle:填写查询的经纬度\"\"\"\n",
    "    parameters = {\n",
    "        'key':key,\n",
    "        'rectangle':rectangle,\n",
    "        'output':'json'\n",
    "        \n",
    "    }\n",
    "    r = requests.get (\"https://restapi.amap.com/v3/traffic/status/rectangle?parameters\", params=parameters)\n",
    "    data=r.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'trafficinfo': {'description': '北三环路：双向畅通。',\n",
       "  'evaluation': {'expedite': '100.00%',\n",
       "   'congested': '0.00%',\n",
       "   'blocked': '0.00%',\n",
       "   'unknown': '0.00%',\n",
       "   'status': '1',\n",
       "   'description': '整体畅通'}}}"
      ]
     },
     "execution_count": 119,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rectangle(\"116.351147,39.966309;116.357134,39.968727\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 设计应用"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 一款有关医院的应用.\n",
    "- 因为一般我们在医院挂号人多的话需要排队会浪费点时间，并且在医院内部容易分不清不同的门诊的具体位置，有时候还需要先交费才能拿药。这款应用可以在医院内部进行导航，还可以添加人脸识别挂号，以及人脸识别交费，就不需要多跑一趟先交费再拿药，可以很好的就诊，这款应用可以在医院内部进行导航，也可以通过人脸识别进行挂号排队，同时也会有周边搜索的功能，方便住院的人或者陪同者对医院周边进行了解。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 可能使用到的API\n",
    "- 路径规划\n",
    "- 搜索POI\n",
    "- 人脸识别\n",
    "- 输入提示"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
